package cn.edu.xmu.oomall.order.model.vo;

import cn.edu.xmu.oomall.order.constant.Constants;
import cn.edu.xmu.oomall.order.microservice.vo.UserVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 优惠券
 */
@NoArgsConstructor
@AllArgsConstructor
@Data
public class CouponVo {
    @ApiModelProperty(value = "优惠卷id")
    private Long id;
    @ApiModelProperty(value = "优惠活动")
    private CouponActivitySimpleVo activity;
    @ApiModelProperty(value = "顾客ID")
    private Long customerId;
    @ApiModelProperty(value = "优惠券名称")
    private String name;
    @ApiModelProperty(value = "优惠券编号")
    private Long couponSn;
    @ApiModelProperty(value = "优惠卷状态")
    private Integer state;
    @ApiModelProperty(value = "活动开始时间")
    @JsonFormat(pattern = Constants.DATE_TIME_FORMAT, timezone = "GMT+8")
    private LocalDateTime beginTime;
    @ApiModelProperty(value = "活动结束时间")
    @JsonFormat(pattern = Constants.DATE_TIME_FORMAT, timezone = "GMT+8")
    private LocalDateTime endTime;
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = Constants.DATE_TIME_FORMAT, timezone = "GMT+8")
    private LocalDateTime gmtCreate;
    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = Constants.DATE_TIME_FORMAT, timezone = "GMT+8")
    private LocalDateTime gmtModified;
    @ApiModelProperty(value = "创建者")
    private UserVo creator;
    @ApiModelProperty(value = "修改者")
    private UserVo modifier;
}
